Computers that run computer software enable people to view and interact with data in an electronic format. Software developers create computer software using one or more software development programs. An appropriate graphical user interface control is usually chosen by the software developer for displaying or managing the particular type(s) of data offered by the software. For example, a text box control might be used for enabling the user to enter or view a name or address. A comment control might be used for enabling the user to enter a more lengthy comment. A label control might be used to display data that cannot be edited, but that is informational in nature. Each control usually has specific features that it supports, and thus each control is usually best suited for a specific purpose.
When an amount of data to be accessed by users is small, they are typically interested in seeing the individual data attributes. For example, if there are just three records being accessed, the user most likely wants to see the individual data attributes related to the three records since there are so few records. If there are 50,000 records, on the other hand, then the user would not likely want to see the individual data attributes about every single one of the 50,000 records. Instead, the user would more likely be interested in knowing more about the statistical nature of the data, such as how many start with the letter A, how many start with the letter B, and so on.
A typical user interface control is not able to show these two extremes of data display. In other words, controls are typically designed to show data at an individual attribute level, or the control is designed to show data at a statistical level. When a large volume of data and/or multiple dimensions are involved, complex user interface designs are typically used to display the data. These complex user interface designs can take the developer a lot of time to design, and can also make the data difficult for the user to understand.